package com.xing.binbackend.pattern.responsibility.acore;

/**
 * 何时选择其他模式？
 * 场景                   推荐模式            原因分析
 * 审批流程频繁变更         责任链模式           动态调整处理器顺序更方便
 * 需要支持运行时流程配置    状态机模式          可视化配置更友好
 * 存在大量条件分支嵌套     策略模式+规则引擎     降低圈复杂度
 *
 * 应用 过滤器 拦截器 流程审批等
 */
public class Client {
    public static void main(String[] args) {
        // 核心代码模板（建议记忆）
        // 客户端使用
        Request request = new Request();
        Handler chain = new ConcreteHandlerA()
                .setNext(new ConcreteHandlerB());
        chain.handleRequest(request);
    }
}
